//
//  LoginHistoryView.m
//  优学荟管理系统
//
//  Created by 星道 on 17/6/30.
//  Copyright © 2017年 星道三好. All rights reserved.
//

#import "LoginHistoryView.h"
#import "LoginHistoryCell.h"

@implementation LoginHistoryView
{
    IBOutlet UITableView *_TableView;

    NSArray *_DataArr;
    void(^_Select)(NSDictionary *Dict);
}


// 实例
+ (instancetype)LoginHistoryView_DataArr:(NSArray *)DataArr Select:(void(^)(NSDictionary *Dict))Select;
{
    return [[self alloc] init_DataArr:DataArr Select:Select];
}

- (instancetype)init_DataArr:(NSArray *)DataArr Select:(void(^)(NSDictionary *Dict))Select;
{
    self = [[[NSBundle mainBundle] loadNibNamed:[LoginHistoryView description] owner:nil options:nil] lastObject];
    if (self)
    {
        _DataArr = DataArr;
        _Select = Select;

        [[UIApplication sharedApplication].keyWindow addSubview:self];

        self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREENH_HEIGHT);
        self.alpha = 0;
        [self layoutIfNeeded];

        // 配置tableView
        [self SetupView];


    }
    return self;
}




/**
 配置界面
 */
- (void)SetupView
{
    // 表单配置
    _TableView.tableFooterView = [UIView new];
    _TableView.tableHeaderView = [UIView new];
    _TableView.rowHeight = 44;
    _TableView.delegate = self;
    _TableView.dataSource = self;
    [_TableView registerNib:[UINib nibWithNibName:[LoginHistoryCell description] bundle:nil] forCellReuseIdentifier:@"Cell"];


    // 显示自己
    [self Show];
}




#pragma mark - 表单代理
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _DataArr.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 取值
    NSDictionary *Dict = _DataArr[indexPath.row];
    // 实例
    LoginHistoryCell *Cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    // 调用点语法
    Cell.Dict = Dict;
    // 删除账号
    Cell.ClickDeleteAccount = ^(NSDictionary *Dict) {

        //开始删除
        [self DeleteData:Dict];
    };
    return Cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 取出对应的值
    NSDictionary *Dict = _DataArr[indexPath.row];
    if (_Select)
    {
        // 扔出去
        _Select (Dict);
    }

    // 扔出去后关闭自己
    [self Close:nil];
}



#pragma mark - 方法
/**
 显示自己
 */
- (void)Show
{
    // 显示
    [UIView animateWithDuration:0.3 animations:^{

        self.alpha = 1;
    }];
}



// 关闭
- (IBAction)Close:(id)sender
{
    // 关闭
    [UIView animateWithDuration:0.3 animations:^{
        self.alpha = 0;
    } completion:^(BOOL finished) {
        [self removeFromSuperview];
    }];
}


/**
 // 开始删除数据
 */
- (void)DeleteData:(NSDictionary *)Dict
{
    // 开始删除数据
    NSMutableArray *DataArr = [_DataArr mutableCopy];
    // 删除数据
    [DataArr removeObject:Dict];
    // 写入缓存
    [DataArr writeToFile:[CachePath stringByAppendingPathComponent:AccountFile] atomically:NO];
    // 重新给回人家
    _DataArr = [DataArr copy];
    // 刷新界面
    [_TableView reloadSections:[[NSIndexSet alloc] initWithIndex:0] withRowAnimation:(UITableViewRowAnimationAutomatic)];
}
@end
